#ifndef __TARGET_BLOCK_H__
#define __TARGET_BLOCK_H__

#include "MountedElectricElementBlock.hpp"

namespace PocketSurvival
{
    // 靶
    class TargetBlock : public MountedElectricElementBlock
    {
    public:
        static constexpr int32_t Index()
        {
            return 199;
        }
        virtual int32_t getIndex() override; 
        virtual const std::string &getBlockName() override;
        virtual int32_t getFace(int32_t value) override;

        virtual const std::vector<BoundingBox> &getCustomCollisionBoxes(int32_t value) override;




        static inline int32_t GetMountingFace(int32_t data);
        static inline int32_t SetMountingFace(int32_t data, int32_t face);
    };

    inline int32_t TargetBlock::GetMountingFace(int32_t data)
    {
        return data & 3;
    }
    inline int32_t TargetBlock::SetMountingFace(int32_t data, int32_t face)
    {
        return (data & -4) | (face & 3);
    }

} // namespace PocketSurvival

#endif
